// api/address.js
const { get, post, put, delete: del } = require("../utils/request.js");

/**
 * 获取用户收货地址列表
 */
const getCustomerAddress = () => {
  return get("/client/address/customerAddress");
};

/**
 * 添加收货地址
 * @param {Object} params - 地址信息
 */
const addAddress = (params) => {
  return post("/client/address/add", params);
};

/**
 * 更新收货地址
 * @param {Object} params - 地址信息
 */
const updateAddress = (params) => {
  return post(`/client/address/update/${params.id}`, params);
};

/**
 * 删除收货地址
 * @param {Object} params - 参数
 * @param {String} params.id - 地址ID
 */
const deleteAddress = (params) => {
  return del(`/client/address/delete/${params.id}`, params);
};

/**
 * 设置默认地址
 * @param {Object} params - 参数
 * @param {String} params.id - 地址ID
 */
const setDefaultAddress = (params) => {
  return post("/client/address/setDefault", params);
};

/**
 * 获取地区列表
 * @param {Object} params - 参数
 * @param {String} params.areaLevel - 地区级别 1-省级，2-市级，3-区县级
 * @param {String} params.parentId - 父级ID，查询某个省下的市，查询某个市下的区县
 */
const getAreas = (params) => {
  return post("/client/address/areas", params);
};

module.exports = {
  getCustomerAddress,
  addAddress,
  updateAddress,
  deleteAddress,
  setDefaultAddress,
  getAreas,
};
